package com.authine.cloudpivot.ext.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.*;

/**
 * @author 张天赐
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel("极简参数订单")
public class OrderSimple implements Serializable {

    private static final long serialVersionUID = -4247686790504899876L;
    @NotEmpty(message = "外部用户ID 不能为空")
    @ApiModelProperty(value = "外部用户ID", required = true, example = "0000001", position = 1)
    private String clientUserId;
    @NotEmpty(message = "外部订单ID 不能为空")
    @ApiModelProperty(value = "外部订单ID", example = "0000001", required = true, position = 2)
    private String clientOrderId;
    @ApiModelProperty(value = "ERP PO", example = "erp po", position = 7)
    private String erpPO;
    @NotEmpty(message = "收货人 不能为空")
    @ApiModelProperty(value = "收货人", example = "收货人", required = true, position = 3)
    private String receiver;
    @NotEmpty(message = "电话 不能为空")
    @ApiModelProperty(value = "电话", example = "13158585858", required = true, position = 4)
    private String phone;
    @NotEmpty(message = "地址 不能为空")
    @ApiModelProperty(value = "地址", example = "上海市", required = true, position = 5)
    private String address;
    @ApiModelProperty(value = "OS订单号", example = "000001", position = 7)
    private String clientOs;
    @ApiModelProperty(value = "实际下单人", example = "下单人", position = 7)
    private String actualOrder;

    @NotEmpty(message = "订单商品集合 不能为空")
    @ApiModelProperty(value = "订单商品集合", required = true, position = 6)
    private List<OrderGoodsSimple> orderGoodsList;


}
